import 'dart:math';//数字计算库
// 引入相关库才能使用以下的dart内置方法

// dart内置库请求服务器接口
import 'dart:io';//请求接口库
import 'dart:convert';//解码响应内容库

// 接口库命名冲突用as关键词
// 如：import 'lib/Person.dart' as lib;
// 使用时：lib.Person p = new lib.Person();

// 部分引入库内容用关键词show
// 如：import 'lib/Person.dart' show getName;
// 部分引入之后只能使用部分引入的函数

// 隐藏引入的函数（隐藏后不能使用）
// 如：import 'lib/Person.dart' hide getName;

main() async{
  print(max(10, 12));

  //调用方法获取接口数据
  var result = await getDataApi();
  List arr = jsonDecode(result)["stories"]; //获取数据还要通过jsonDecode解构数据
  arr.forEach((el) {
    print(el["title"]);
  });
}

// 请求方法
getDataApi() async{
  // 1.创建HttpClient对象
  var httpClient = new HttpClient();
  // 2.创建Uri对象
  var uri = new Uri.http('news-at.zhihu.com','/api/3/stories/latest');
  // 3.发送请求，等待请求
  var repuest = await httpClient.getUrl(uri);
  // 4.关闭请求，等待响应
  var response = await repuest.close();
  // 5.解码响应内容
  return await response.transform(utf8.decoder).join();
} 